package com.caioweb.osa.validation;

import java.io.Serializable;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.FacesValidator;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;
import javax.inject.Inject;

import org.jboss.seam.faces.validation.InputField;

import com.caioweb.osa.dao.AmbienteDAO;
import com.caioweb.osa.modelo.Ambiente;
import com.caioweb.osa.modelo.Branch;
import com.caioweb.osa.modelo.Cliente;
@FacesValidator(value="validaAmbiente")
public class ValidaAmbiente implements Validator,Serializable{
	@Inject @InputField
	private Branch branch;
	@Inject
	private AmbienteDAO dao;
	@Inject @InputField
	private Cliente cliente;
	@Inject @InputField
	private String tipo;
	@Inject @InputField
	private Long tpAmbienteCliente;

	@Override
	public void validate(FacesContext arg0, UIComponent arg1, Object arg2)
			throws ValidatorException {
		
			
		  	Ambiente ambiente = dao.buscaAmbiente(branch, tipo, cliente,tpAmbienteCliente);
		  	if(ambiente != null){
		  		this.tipo = null;
		  		throw new ValidatorException(new FacesMessage("Ambiente ja cadastrado para o cliente "+cliente.getSigla()));
		  	}
		
	}
	

}
